#ifndef LABEL
#define LABEL

#include <iostream>
#include <iomanip>


#define LABELSHIFTSTART     0x80000000

class Label
{

  unsigned int uLabel;
  unsigned int uCurrentLabelBitPosition;
  bool bLabelComplete;

 public:

  /* Constructor/Destructor */
  Label(void);
  ~Label(void);

  void WriteCurrentAddressBit(bool addressBit);
  void PrintLabel(void);
  void ResetLabelToBeginning(void);

  bool ReadLabelBit(unsigned int labelBitPosition);
  unsigned int ReadCurrentLabel(void);
  unsigned int ReadCurrentLabelBitPosition(void);

};




#endif
